﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using SgaGestionAcceso.Helper;
using SgaGestionAcceso.Negocio;
using SgaGestionAcceso.Entidad;
using System.Web.Configuration;

namespace SgaGestionAcceso.WEB.AplicacionAutorizante
{
    public partial class frmAplicacionAutorizanteHistorico : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (!IsPostBack)
                {
                    CargarListas();
                }
            }
            catch (Exception ex)
            {
                ((SgaGestionAcceso)this.Master).MostrarMensaje(WebConfigurationManager.AppSettings["MensajeTitulo"], WebConfigurationManager.AppSettings[Constantes.MSG_ERROR_GENERAL]);
                NetLogger.WriteLog(ELogLevel.ERROR, ex.Message + Environment.NewLine + ex.StackTrace);
            }
        }

        public void CargarListas()
        {
            BLAplicacion blAplicacion = new BLAplicacion();
            BLAutorizante blAutorizante = new BLAutorizante();

            Herramienta.CargarDropDownListItemTodos(ddlAplicacion, blAplicacion.ListarAplicacion(), "IdAplicacion", "Nombre");
            Herramienta.CargarDropDownListItemTodos(ddlAutorizante, blAutorizante.ListarAutorizante(), "IdAutorizante", "NombresCompletos");

        }

        protected void btnBuscar_Click(object sender, EventArgs e)
        {
            busquedaAplAutoHisto();
        }

        public void busquedaAplAutoHisto()
        {
            BLAplicacionAutorizanteHistorico blAplicacionAutorizanteHistorico = new BLAplicacionAutorizanteHistorico();
            BEAplicacionAutorizanteHistoricoList beAplicacionAutorizanteHistoricoList = null;

            beAplicacionAutorizanteHistoricoList = blAplicacionAutorizanteHistorico.BuscarAplicacionAutorizanteHistorico(Convert.ToInt32(ddlAplicacion.SelectedValue), Convert.ToInt32(ddlAutorizante.SelectedValue));

            Session[Constantes.SESION_LISTA_APLICAAUTORIZANTEHISTO] = null;
            Session.Add(Constantes.SESION_LISTA_APLICAAUTORIZANTEHISTO, beAplicacionAutorizanteHistoricoList);

            dgvConsultaAplAutoHisto.DataSource = beAplicacionAutorizanteHistoricoList;
            dgvConsultaAplAutoHisto.DataBind();

            if (beAplicacionAutorizanteHistoricoList.ToList().Count == 0)
            { ((SgaGestionAcceso)this.Master).MostrarMensaje(WebConfigurationManager.AppSettings["MensajeTitulo"], "No existen registros para el criterio de búsqueda"); }
        }

        protected void dgvConsultaAplAutoHisto_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            if (this.Session[Constantes.SESION_LISTA_APLICAAUTORIZANTEHISTO] != null)
            {
                BEAplicacionAutorizanteHistoricoList beAplicacionAutorizanteHistoricoList = null;
                beAplicacionAutorizanteHistoricoList = (BEAplicacionAutorizanteHistoricoList)Session[Constantes.SESION_LISTA_APLICAAUTORIZANTEHISTO];

                this.dgvConsultaAplAutoHisto.PageIndex = e.NewPageIndex;

                this.dgvConsultaAplAutoHisto.DataSource = beAplicacionAutorizanteHistoricoList;
                this.dgvConsultaAplAutoHisto.DataBind();
            }
        }

        protected void dgvConsultaAplAutoHisto_RowCommand(object sender, GridViewCommandEventArgs e)
        {

        }

    }
}